]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
overviewControls: Fix reallocation cycles
authorJasper St. Pierre <jstpierre@mecheye.net>
Sun, 17 Feb 2013 18:51:51 +0000 (13:51 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Sun, 17 Feb 2013 18:53:24 +0000 (13:53 -0500)
Instead of setting a new height, let the Clutter relayout
machinery do the work for us.

js/ui/overviewControls.js

index 93420909c73a49e46d7701ac2409c4fee10a0b3d..1a0dc3d0b938869073469ccc5dee1d19f550aa9a 100644 (file)
@@ -3,6 +3,7 @@
 const Clutter = imports.gi.Clutter;
 const Lang = imports.lang;
 const St = imports.gi.St;
+const Shell = imports.gi.Shell;
 
 const Main = imports.ui.main;
 const Tweener = imports.ui.tweener;
@@ -305,14 +306,11 @@ const SlidingControlContainer = new Lang.Class({
         child.x_expand = true;
         this.add_actor(child);
 
-        let entryClone = new St.Widget();
-        entryClone.height = entryBin.height;
+        let entryClone = new Shell.GenericContainer();
+        entryClone.connect('get-preferred-height', function(actor, forWidth, alloc) {
+            [alloc.min_size, alloc.natural_size] = [entryBin.height, entryBin.height];
+        });
         this.add_actor(entryClone);
-
-        entryBin.connect('notify::height', Lang.bind(this,
-            function() {
-                entryClone.height = entryBin.height;
-            }));
     }
 });